Lab Overview

NACA 4412 airfoil with 18 pressure taps
Airfoil mounted in wind tunnel test section
Traversing pitot-static wake probe

Procedure & Methodology

The tunnel was set to 15 m/s and the airfoil adjusted to each angle of attack from −3° to 12° in 3° increments. At each angle, the traversing pitot-static tube swept 76 height positions behind the airfoil to capture the wake velocity profile, while the 18 static pressure ports sampled the airfoil surface pressure simultaneously.

Pressure readings (in inH₂O) were converted to Pa and normalized by dynamic pressure to obtain the pressure coefficient C_p = (P_diff + q_inf) / q_inf. The lift coefficient was computed by integrating the pressure difference between lower and upper surfaces: C_l = (1/c) ∫ (C_p_lower − C_p_upper) dx. The drag coefficient was derived from the wake momentum deficit: C_d = (2/U∞²c) ∫ U_w(U∞ − U_w) dy. Moment coefficients about the leading edge and quarter chord were obtained from weighted pressure integrals. All results were compared to panel code (potential flow) predictions loaded from PanelCode.mat.

Wake velocity profiles — all AoA (Fig. 2)
Cp distribution — all AoA (Fig. 3)
Panel code vs experimental overlay

Results & Analysis

CL vs Angle of Attack (Fig. 4)
CD vs Angle of Attack (Fig. 5)
Drag Polar — Cd vs Cl (Fig. 8)

Moment Coefficients & L/D

Cm,LE vs Angle of Attack (Fig. 6)
Cm,c/4 vs Angle of Attack (Fig. 7)
Lift-to-Drag Ratio vs AoA (Fig. 9)

MATLAB Code

Wake traverse and surface pressure data were loaded from .mat and .csv files, converted, and integrated to produce aerodynamic coefficients. Below is a representative excerpt; the full script is AE315_LAB3_Code.m.

% Wake velocity from traversing pitot-static data
Velocity = sqrt(2 * dp / rho0);

% Freestream: average outside the wake bounds
freestream(i) = mean([Velocity(i,1:LowBnd(i)), Velocity(i,UppBnd(i):end)]);

% Drag from momentum deficit
D(i) = rho0 * trapz(z_matrix(i, LowBnd(i):UppBnd(i)), ...
  Velocity(i, LowBnd(i):UppBnd(i)) .* ...
  (freestream(i) - Velocity(i, LowBnd(i):UppBnd(i))));

% Pressure coefficient from 18 surface taps
q         = 0.5 * rho0 * freestream(i)^2;
Cp(i, :)  = (p_mean(i, :) ./ q) + 1;

% Lift from Cp integration (lower minus upper surface)
Cl(i) = trapz(lower_x_val, Cp_lower(i,:)) - trapz(upper_x_val, Cp_upper(i,:));

% Zero-lift angle of attack
zero_lift_AoA = interp1(Cl, AoA_vals, 0, 'linear', 'extrap'); % = -3.31°
Full MATLAB script — AE315_LAB3_Code.m
PanelCode.mat data structure
Pressure tap x/c positions

href="lab-testing-experience.html">← Back to Lab Testing Experience#8592; Back to Experimental Aerodynamics Labs